home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 101 (1989-08-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 101 (1989-08-15)(Ossowski, Stefan)(DE)(PD).adf / Diskey / DisKey.README < prev    next >
Text File  |  1989-04-20  |  28KB  |  691 lines

  1. Angela Schmidt, Finkenweg 26, 7910 Neu-Ulm Burlafingen, GERMANY
  2. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  3.  
  4. ********************************
  5. ***                          ***
  6. ***   README zu DisKey 1.0   ***
  7. ***                          ***        
  8. ********************************
  9.  
  10.  
  11. 1) Was ist DisKey?
  12.  
  13. 2) Warum DisKey?
  14.  
  15. 3) Wie es zu DisKey kam:
  16.  
  17. 4) Updates:
  18.  
  19. 5) An alle Programmierer/innen
  20.  
  21. 6) Die Anleitung
  22.  
  23. 6.1) Allgemeines
  24.  
  25. 6.2) Die Bedienung
  26.  
  27. 6.3) Die Menüpunkte
  28.  
  29. 7) Der MIST-VIRUS
  30.  
  31. 8) Meine Adresse    
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41. 1) Was ist DisKey?
  42. ==================
  43.  
  44. DisKey ist mein erstes größeres C-Programm - ein Diskettenmonitor.  DisKey
  45. arbeitet  blockweise,  ist  also  KEIN  File-Monitor,  bei denen man einen
  46. Filenamen eingeben muss, und dieses dann editiert.
  47.  
  48. DisKey ist PUBLIC DOMAIN. Sie dürfen es also frei kopieren, vorausgesetzt,
  49. Sie  geben dieses Textfile mit weiter.  Ich bitte darum, daß sich auch die
  50. sog.    Szene   daran   hält.   Denn  was  soll  denn  jemand  mit  einem
  51. Diskettenmonitor  anfangen,  zu dem er keine Anleitung hat?  Ja, ich weiß,
  52. daß  es  auch  ohne Anleitung geht.  Aber wenn man schon eine hat, so kann
  53. man sie ja mit weitergeben!
  54.  
  55. Auf  kommerziellen  Disketten  darf  DisKey  nur  mit meinem schriftlichen
  56. Einverständnis vertrieben werden!
  57.  
  58.  
  59.  
  60. 2) Warum DisKey?
  61. ================
  62.  
  63. Ja,  es gibt schon viele Diskettenmonitore.  Aber gibt es auch schon genug
  64. deutsche?   Gibt  es  Diskettenmonitore,  die  eine  Block  in  ASCII  und
  65. HEX-Darstellung  nebeneinander  auf  den  Bildschirm  bekommen, ohne dabei
  66. einen   Interlace-Screen   zu  öffnen,  sondern  speichersparend  auf  der
  67. Workbench  arbeiten?  DisKey kann dies alles.  Dazu benötigt er aber einen
  68. PAL-Amiga.   Wenn er keinen solchen vorfindet, muß er wohl oder übel einen
  69. eigenen  Flacker-Screen  öffnen, aber in Europa wird das wohl kein Problem
  70. sein.
  71.  
  72.  
  73.  
  74. 3) Wie es zu DisKey kam:
  75. ========================
  76.  
  77. Als  ich  mit der Programmierung von DisKey begonnen habe, wollte ich mich
  78. nur  einmal  etwas  näher mit C und dem trackdisk.device beschäfigen.  Ich
  79. hatte aber auch vor, das Programm an eine Zeitschrift zu schicken, um mein
  80. Taschengeld  eventuell etwas aufzubessern.  Nach 3 Wochen war das Programm
  81. allerdings  schon  über  2200  Zeilen  lang.  Das druckt keine Zeitschrift
  82. mehr.   Also  entschloß  ich mich, es zum PD-Programm zu machen, und hoffe
  83. nun darauf, daß die zukünftigen DisKey-User meine Arbeit würdigen, und mir
  84. vielleicht als Anerkennung etwas schicken.  Das kann Geld sein, oder etwas
  85. Selberprogrammiertes.   Ich  freue  mich  aber  auch  über  Dinge, wie zum
  86. Beispiel  vergünstigte  Eintrittskarten  zu deutschen Computermessen, neue
  87. Public  Domain Disketten, und ähnliches.  Wenn Sie DisKey häufig und gerne
  88. benutzen, überlegen Sie sich doch bitte, ob Sie mir nicht etwas in der Art
  89. zukommen lassen können.  Ob ich in Zukunft meine größeren Programme in den
  90. PD-Pool  geben  werde,  hängt  im Wesentlichen davon ab, ob für mich dabei
  91. etwas herausspringt, denn ich bin noch Schülerin und werde dann studieren,
  92. weswegen ich meist knapp bei Kasse bin.
  93.  
  94.  
  95.  
  96. 4) Updates:
  97. ===========
  98.  
  99. Für  DisKey  wird  es  auf  jeden  Fall  Updates geben, denn ich habe noch
  100. einiges    damit    vor.     Wenn    Sie   noch   Anregungen   oder   gute
  101. Verbesserungsvorschläge haben, so schreiben Sie mir einfach!
  102.  
  103.  
  104.  
  105. 5) An alle Programmierer/innen:
  106. ===============================
  107.  
  108. Wie schon gesagt, habe ich noch einiges mir DisKey vor.  Bis jetzt ist das
  109. jedoch  daran  gescheitert,  daß  ich  nicht  weiß  wie  ich  meine  Ideen
  110. realisieren  soll,  dann  mir fehlt die passende Literatur.  Wenn Sie eine
  111. Antwort  auf  eine  der  nächsten  Fragen haben, so schreiben Sie mir doch
  112. bitte, wenn möglich mit einem kleine C-Source:
  113.  
  114. 1)  Wie kann ich bei einer Festplatte herausbekommen, über wieviele Köpfe,
  115. Sektoren,  Tracks  usw.  diese verfügt.  Außerdem brauche ich noch das für
  116. die Festplatte zuständige Device.  Ich denke, daß das über die Device-List
  117. läuft, aber wie und wo finde ich die, und wie ist sie aufgebaut?
  118.  
  119. 2)  Wenn  ich mit "Format" eine Diskette formatiere, "merkt" das DOS, dass
  120. sich  da was getan hat, und kennt zum Beispiel die neue BAM.  Wie kann ich
  121. dem  DOS  klarmachen, daß sich auf der Diskette, die ich gerade bearbeite,
  122. auch etwas Wesentliches geändert hat.  Dies wird nämlich in dieser Version
  123. nicht automatisch erkannt.
  124.  
  125. 3)  Solange  DisKey  eine  Diskette bearbeitet, wirkt es störend, wenn ein
  126. anderes  Programm  da  hineinpfuscht.  Wie kann ich es verhindern, daß das
  127. DOS  etwas  auf  meine  Diskette schreibt?  Die Lösung soll aber weiterhin
  128. DISKINSERTEDs und DISKREMOVEDs melden!
  129.  
  130.  
  131.  
  132.  
  133. 6) D I E    A N L E I T U N G:
  134. ==============================
  135.  
  136. Im  folgenden  werde  ich  eine  kleine  Anleitung  für  alle  DisKey-User
  137. zusammenstellen.   Ich  versuche  einen möglichst guten Kompromiß zwischen
  138. der  Länge  der Anleitung (soll ja möglichst schnell gelesen sein) und der
  139. Information, die Sie für das Programm brauchen, zu finden.
  140.  
  141.  
  142.  
  143. 6.1) Allgemeines:
  144. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  145.  
  146. Ich  habe  mich  sehr  bemüht,  ein  möglichst  fehlerfreies  Programm  zu
  147. schreiben.   Ob  mir  das  gelungen  ist,  werde  ich  wahrscheinlich erst
  148. erfahren,  nachdem  es  einer großen Zahl von Anwendern zugänglich gemacht
  149. worden  ist.   Ich  konnte jedoch bis jetzt nach etlichen Tests noch keine
  150. Fehler   feststellen.    GURUs   sind  bei  mir  in  der  Testphase  KEINE
  151. aufgetreten.   Auch  sonst  sind  mir keine Fehler aufgefallen.  Bei einem
  152. Programm   mit   über   60  KB  Source  ist  es  jedoch  natürlich  nicht
  153. auszuschließen,  daß  noch  Fehler  drin  sind.   Deswegen  kann  ich auch
  154. keinerlei  Haftung  für  eventuell  auftretende Schäden übernehmen.  Eines
  155. kann  ich  jedoch  guten Gewissens behaupten:  Mein Programm ist auf jeden
  156. Fall  VIEL  sicherer  als so manche kommerzielle Programme.  (Ich denke im
  157. Moment     an     die     erste     Version    eines    ganz    bestimmten
  158. Textverarbeitungsprogramms,  das  sogar  beim  Textscrolling  - einer ganz
  159. normalen Anwendung - häufig abgestürzt ist.)
  160.  
  161. Noch  etwas  vorraus, damit Sie's gleich wissen:  Mein Programm informiert
  162. das DOS an keiner Stelle, daß sich auf der Diskette, die gerade bearbeitet
  163. wird,  etwas  Wesentliches  geändert  haben könnte.  Wenn Sie also auf der
  164. Diskette  etwas  geändert  haben,  sollten  Sie  sie kurz aus dem Laufwerk
  165. nehmen,  nachdem  Sie  das  Programm verlassen haben.  Falls Sie das nicht
  166. tun,  kann  das  unter  Umständen böse Folgen haben.  Aber erschrecken Sie
  167. nicht, es gibt genug andere Diskettenmonitore, die diese Marotte ebenfalls
  168. haben.  In einer höheren Version wird dieses Problem hoffentlich beseitigt
  169. sein.   (Ich  hoffe,  daß  der  Aufruf  an  die  Programmierer/innen etwas
  170. bringt!)
  171.  
  172. Ach  ja,  umgekehrt  ist  es das gleiche:  Wenn das DOS etwas auf die Disk
  173. schreibt,  WÄHREND DisKey aktiv ist, "merkt" DisKey auch nichts davon.  Im
  174. Klartext  heißt  das,  daß  inzwischen  benutzte  Blöcke  noch  als "FREI"
  175. angezeigt  werden,  oder  bereits  gelöschte  noch  als belegt.  Auch beim
  176. Auffinden  des  File-  oder  Directory-Headers  könnte  es Schwierigkeiten
  177. geben.   In  so  einem Fall ist auch wieder ein Diskettenwechsel angesagt,
  178. damit DisKey die BAM, die HASH-Table und anderes nochmal einliest.
  179.  
  180.  
  181.  
  182. 6.2) Die Bedienung:
  183. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  184.  
  185. Zum  Editieren  gibt  es  zwei  Möglichkeiten:  ASCII-Text und HEX-Zahlen.
  186. Voreingestellt  ist  ASCII-Edit.  Sie können durch einen Mausklick auf den
  187. ASCII-  bzw.   HEX-Text  zwischen den beiden Modi wählen.  Der Cursor läßt
  188. sich   mit   der   Maus  und  mit  den  Cursortasten  positionieren.   Die
  189. Cursortasten  haben  eine  fest  voreingestellte  Geschwindigkeit (relativ
  190. schnell,  denn  sonst  wird  die  Sache  leicht nervig, wenn man da mal an
  191. gewisse   Editoren  denkt,  o-wei...).   Die  Tastenwiederholungsrate  der
  192. übrigen  Tasten wird aus den Preferences übernommen.  Die Keymap ist genau
  193. die,  die  Sie  mit  setmap eingestellt haben.  Programme, die Ihre eigene
  194. Keymap  mit herumschleppen, oder die Rawcodes auswerten, finde ich absolut
  195. NERVIG.   Ach  ja,  String-Tasten  (Tasten  mit mehr als einem Buchstaben)
  196. werden ignoriert.
  197.  
  198. Beim  ASCII-Edit  werden  fast  alle  Codes angenommen.  Wenn Sie also zum
  199. Beispiel  auf  ESC  drücken,  so  bekommen  Sie Ihr ESC auch.  Da der Code
  200. unsichtbar   ist,  wird  er  zwar  nur  als  Punkt  dargestellt,  aber  im
  201. HEX-Display  sehen  Sie:  1B!  Der gewünschte Code.  Natürlich werden auch
  202. CTRL-Codes  angenommen  -  kein  Problem!  So entfällt nämlich endlich der
  203. lästige  Wechsel  zwischen  ASCII und HEX - zum Beispiel wenn man irgendwo
  204. Steuercodes  einflicken  will.   Da RETURN nichts anderes ist, als CTRL-M,
  205. wird es auch komplett in 0D (HEX) umgewandelt.
  206.  
  207. Beim  HEX-Edit  werden  Ziffern  und  Buchstaben  von  a  (A)  bis  f  (F)
  208. angenommen.  Klar!
  209.  
  210. Jedes geänderte Zeichen wird übrigens ROT dargestellt.  So haben Sie immer
  211. einen   schönen   Überblick,   was   Sie   schon   alles   herumgemurkst
  212. (Entschuldigung...) haben!
  213.  
  214. In  der  Titelleiste  sehen  Sie  stets  die  momentanen Koordinaten Ihres
  215. Cursors  in Dezimal- und Hexadezimaldarstellung.  Außerdem wird angezeigt,
  216. in  welchem  Langwort sich der Cursor gerade befindet.  Also kein mühsames
  217. Langwort-   und   Byteauszählen   mehr!   Falls  die  Darstellung  einmal
  218. verschwunden sein sollte (das passiert, wenn sie von einem anderen Fenster
  219. überdeckt  wurde),  müssen  Sie  nur den Cursor einmal kurz bewegen, und -
  220. schwupp - ist sie wieder da!
  221.  
  222. Wenn Sie das Programm gestartet haben, sehen Sie zwölf Befehlsgadgets.  Zu
  223. wenig?   Na, dann drücken Sie doch mal die rechte Maustaste!  Was?  In der
  224. Titelzeile  rührt  sich  nichts?   Nun, dann schauen Sie sich doch mal die
  225. zwölf  Gadgets  an!   Sehen  etwas anders aus, oder?  Durch einen weiteren
  226. Klick  mit  der  rechten  Maustaste bekommen Sie wieder die alten Gadgets.
  227. Ich  fand  diese  Methode  recht  komfortabel,  vielleicht  ist  sie etwas
  228. gewöhnungsbedürftig, aber das sollte kein Problem sein.
  229.  
  230. "Gefährliche"  Gadgets  habe ich mit einer "Kindersicherung" versehen, die
  231. sogar  mich  schon vor schlimmeren Folgen bewahrt hat.  Bei diesen Gadgets
  232. müssen  Sie  LANGE  auf  dem  Mausknopf bleiben.  So lange, bis im Display
  233. rechts  unten  die  Anzeige  "Alles  klar!"  erscheint.   Lassen  Sie  den
  234. Mausknopf früher los, so wird der Befehl abgebrochen.
  235.  
  236. In  diesem  Display  rechts unten erfahren Sie übrigens so einiges während
  237. Ihrer   Arbeit.   Alle  Meldungen,  die  nicht  in  einem  eigenen  Window
  238. ausgegeben werden, erscheinen rechts unten.
  239.  
  240. Es  wird  zum  Beispiel eine ins aktuelle Laufwerk neu eingelegte Diskette
  241. gleich etwas näher betrachtet.  Dabei wird auch der Bootblock auf folgende
  242. Viren  hin untersucht:  BYTE BANDIT, SCA und Abkömmlinge, DASA, NORTH STAR
  243. VIRUS,  SYSTEM  Z PROTECTOR und MIST-VIRUS (siehe unter 7).  Dazu wird das
  244. vierte  Langwort  eingelesen und mit den Langwörtern der Viren verglichen.
  245. Stimmen  sie  überein,  so  wird  eine  entsprechende  Meldung ausgegeben.
  246. Besteht das Langwort aus Null-Bytes oder beginnt es mit "DOS", so wird der
  247. Benutzer  entwarnt, ansonsten kommt die Meldung "Kein Standard-Bootblock".
  248. Ich  möchte jedoch hier noch ganz eindringlich darauf hinweisen, daß diese
  249. Lösung  KEIN  besonders  guter Schutz gegen zukünftige Bootblockviren ist,
  250. da  ja  nur  vier  Bytes  überprüft  werden.   Es  kann deswegen auch eine
  251. Virus-Warnung kommen, obwohl gar keiner auf der Diskette ist.  Dies könnte
  252. z.   B.   bei einer Boot-Intro eintreten.  Dann nämlich, wenn die ersten 4
  253. Bytes  der  Boot-Intro  mit einem der oben genannten Viren übereinstimmen.
  254. Wenden  Sie  also  den  Install-Befehl  des CLI nicht voreilig an, sondern
  255. sehen Sie sich den Bootblock erst einmal in Ruhe an!  Informieren Sie sich
  256. auch unbedingt unter 7) über den MIST-VIRUS!
  257.  
  258. Wenn neue Viren auftauchen, können Sie mir ja schreiben, wie deren viertes
  259. Langwort  (gemeint ist das 4.  Langwort des Bootblocks, das entspricht dem
  260. ersten  Langwort  des Virus-Programms!) aussieht, und wie der Virus heißt.
  261. Ein Bootblock-Ausdruck wäre mir auch sehr angenehm.  Ich werde dann in der
  262. nächsten Version eine entsprechende Warnung mit einbauen.
  263.  
  264.  
  265. Nun  noch  kurz  zu  den restlichen zwei Zeilen im Feld rechts unten:  Die
  266. letzte   Zeile  zeigt  immer  den  Namen  der  Diskette,  die  Sie  gerade
  267. bearbeiten, an. Die zweite Zeile enthält folgende Informationen:
  268.  
  269. ???? steht jeweils für "unbekannt".
  270.  
  271. Diskettentyp (DOS-normale Diskette / KICK-Kickstart)
  272.  
  273. Blockstatus (USED-benutzt / FREI-nicht benutzt / KICK-Kickstart Diskette)
  274.  
  275. Blocktyp (ROOT / BOOT / BAM / DATA / HEADER / DIR / FILELIST / KICK )
  276.  
  277. ROOT: Block 880 einer Diskette
  278.  
  279. BOOT: Block 0 und 1 einer Diskette
  280.  
  281. BAM: Bit Allocation Map
  282.  
  283. DATA: Daten-Block
  284.  
  285. HEADER: File-Header-Block
  286.  
  287. DIR: User-Directory-Block
  288.  
  289. FILE-LIST: File-List-Block
  290.  
  291. KICK: Kickstart-Disketten haben keine besonderen Blöcke!
  292.  
  293.  
  294. Links  unten  finden Sie auch etliche Gadgets.  Hier können folgende Werte
  295. eingestellt werden:
  296.  
  297. DRIVE: Laufwerk 0, 1, 2, oder 3.
  298.  
  299. BLOCK: Der zu bearbeitende Block. (0 bis 1759)
  300.  
  301. TRACK: Die Spur (0 bis 159). Nicht zu verwechseln mit:
  302.  
  303. CYL.:  Der Zylinder (0 bis 79).
  304.  
  305. SEC.:  Der Sektor (0 bis 10).
  306.  
  307. HEAD:  Die Kopfnummer (0 oder 1).
  308.  
  309. Die  Werte  können  durch  einen  Klick  auf '+' und '-' verändert werden.
  310. Natürlich  lassen  sie  sich auch direkt über die Tastatur eingeben.  Dazu
  311. klickt  man  einfach  auf das entsprechende Gadget, und schon kann man den
  312. Wert eingeben.  Hierzu können folgende Tasten verwendet werden:
  313.  
  314. 0 bis 9 (ist ja klar!)
  315.  
  316. BACKSPACE (löscht das Zeichen links vom Cursor.)
  317.  
  318. ESC  (macht alles rückgängig.  Der augenblickliche - evt.  schon editierte
  319. - Block wird also NICHT durch Überschreiben gelöscht.)
  320.  
  321. RETURN (schließt die Eingabe ab.)
  322.  
  323.  
  324.  
  325. So,  nun  müssen  Sie  sich  nur  noch  die  Beschreibung zu den einzelnen
  326. Menüpunkten  zu  Gemüte  führen.   Lassen Sie sich von einigen Fähigkeiten
  327. überraschen!   Falls  Ihnen  bei  den  Menüpunkten  ein  rotes Fenster (im
  328. Interlace-Modus  ist  es aus optischen Gründen weiss!) über den Weg läuft,
  329. kann  man  es übrigens entweder durch eine Leereingabe (falls eine Eingabe
  330. verlangt  wird) oder durch  einen  Mausklick verlassen.
  331.  
  332. Falls  in  dem  Fenster eine Eingabe verlangt wird, können Sie mit ESC die
  333. gesamte  Eingabe  wieder  löschen,  so  daß  Sie  um  etliche  BACKSPACES
  334. herumkommen,   die   Sie   natürlich  auch  benutzen  können.   Manchmal
  335. funktionieren  bei  der  Eingabe  alle  Tasten,  manchmal  nur HEX-Zahlen,
  336. manchmal  auch  nur Ziffern.  Das kommt immer auf den einzelnen Fall drauf
  337. an.
  338.  
  339. Falls Sie  sich  fragen,  warum  ich nicht die komfortablen String-Gadgets
  340. verwendet  habe:   Meine  Routine sperrt zum Beispiel bei HEX-Eingaben von
  341. Anfang  an  ungültige  Tasten, was mit String-Gadgets leider nicht möglich
  342. ist.   Darauf  wollte  ich  aber  nicht  verzichten.   Es ist übrigens gut
  343. möglich, daß sich die Eingaberoutine in Zukunft noch etwas verbessert!
  344.  
  345. Nun aber endlich zu den Menüpunkten:
  346.  
  347.  
  348.  
  349. 6.3) Die Menüpunkte:
  350. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  351.  
  352. Bitte  behalten Sie bei der Benutzung der Menüpunkte immer die erste Zeile
  353. im  Kasten  rechts  unten  im  Auge.  Oft erscheinen hier Fehlermeldungen,
  354. Warnungen, und ähnliches.
  355.  
  356.  
  357. LESEN:
  358. ¯¯¯¯¯¯
  359. Wenn  man  einen Block geändert, aber noch nicht gespeichert hat, und dann
  360. merkt,  daß  das  nichts  war,  und  mit  dem Ausbessern nochmal von vorne
  361. beginnen  möchte,  so  klickt man einfach auf LESEN.  Schwupp-di-wupp, der
  362. Block ist wieder da, wie anno dazumale!
  363.  
  364.  
  365. SCHREIBEN:
  366. ¯¯¯¯¯¯¯¯¯¯
  367. Hier wird der Block auf Diskette zurückgeschrieben! Sicherheitsabfrage!
  368.  
  369.  
  370. DRUCKEN:
  371. ¯¯¯¯¯¯¯¯
  372. Der Block wird - ähnlich wie bei "Type opt h" ausgedruckt - vorrausgesetzt
  373. natürlich, Sie haben einen Drucker!
  374.  
  375.  
  376. MERKEN:
  377. ¯¯¯¯¯¯¯
  378. Der Block wird im einem Zwischenspeicher abgelegt.
  379.  
  380.  
  381. HOLEN:
  382. ¯¯¯¯¯¯
  383. Der  Block  wird  aus  dem  Zwischenspeicher zurückgeholt und überschreibt
  384. damit   den   Block,  der  gerade  editiert  wird.   Natürlich  wird  der
  385. Zwischenspeicher NICHT auf Diskette geschrieben!
  386.  
  387.  
  388. SUMME:
  389. ¯¯¯¯¯¯
  390. Die  meisten Blöcke verfügen über eine Prüfsumme.  Nachdem man einen Block
  391. aufgebessert  hat,  sollte  man  -  bevor  man ihn abspeichert - auf Summe
  392. klicken. Hier sind viele Abfragen eingebaut:
  393.  
  394. KICKSTART:   Eine  Kickstart hat nur eine Prüfsumme, nämlich in Block 512.
  395. Befindet man sich im Block 512 einer Kickstart, so werden nacheinander die
  396. Blöcke  1  bis  512  eingelesen, und die somit errechnete Prüfsumme an die
  397. entsprechende Stelle im Block 512 eingetragen.  SCHREIBEN nicht vergessen!
  398.  
  399. BOOTBLOCK:   Die Summe der Bootblöcke steht in Block 0.  Befindet man sich
  400. hier,  so  wird Block 1 auch noch eingelesen, und die Summe gebildet.  Nur
  401. wenn  die  Prüfsumme  der  Bootblöcke  stimmt,  versucht der Amiga von der
  402. Diskette   zu   booten.    Wenn   jedoch   die  Summe  stimmt,  aber  kein
  403. entsprechendes  Bootprogramm  im Bootblock steht, dann passiert etwas, was
  404. ich aus Faulheitsgründen noch nicht ausprobiert habe.  Vermutlich aber ein
  405. GURU.
  406.  
  407. ANDERE BLÖCKE:  Auch hier wird die  Prüfsumme eingetragen.  Bei der BAM im
  408. ersten Langwort, sonst im 6.
  409.  
  410.  
  411. SUCHEN:
  412. ¯¯¯¯¯¯¯
  413. Geben  Sie  an,  ob  Sie  nach  HEX-  oder ASCII-Daten suchen wollen.  Die
  414. entsprechenden  Daten  werden  natürlich  auch  noch  benötigt, ebenso wie
  415. Start-  und  Endblock.   Dann  beginnt  die  Sucherei.   Ein  Abbruch  ist
  416. jederzeit  durch  einen  Mausklick  ins  rote  Fenster  möglich.   Es wird
  417. übrigens  zwischen  Groß- und Kleinschrift unterschieden.  Sie müssen also
  418. schon genau wissen, was Sie wollen!
  419.  
  420. Wenn  etwas  gefunden  wurde,  Sie  aber  gerne noch weitersuchen möchten,
  421. klicken  Sie  LANGE  auf  Suchen.   So lange, bis die Meldung "Suche nach:
  422. xxx" erscheint.  Dann lassen Sie den Mausknopf los, damit mit der Sucherei
  423. begonnen werden kann.
  424.  
  425.  
  426. FORMAT:
  427. ¯¯¯¯¯¯¯
  428. Start-   und   Enttrack  (Track,  nicht  Zylinder!)  angeben.   Dann  wird
  429. formatiert.  Jedoch ohne VERIFY!  Abbruch durch Klick ins rote Fenster!
  430.  
  431.  
  432. REFORMAT:
  433. ¯¯¯¯¯¯¯¯¯
  434. Läuft  wie  FORMAT,  nur gaaaanz anders!  Bevor der Track formatiert wird,
  435. wird  dieser  erst  einmal eingelesen.  Beim Formatieren werden die Daten,
  436. die eben eingelesen wurden, wieder auf Diskette geschrieben.  Als "Bonbon"
  437. dürfen Sie die Lese- und Formatierversuche selber angeben.  Sie müssen nur
  438. zwischen  1  und  10  liegen.   Scheitern alle Leseversuche, wird REFORMAT
  439. abgebrochen.
  440.  
  441.  
  442. INFO:
  443. ¯¯¯¯¯
  444. Hier  habe  ich  mich verewigt.  Außerdem erfahren Sie noch etwas über die
  445. eingelegte Diskette.
  446.  
  447.  
  448. INFO =>: 
  449. ¯¯¯¯¯¯¯¯
  450. Klicken  Sie  ein  Langwort  an.   Wenn  der  Wert  des Langworts irgendwo
  451. zwischen  0  und  1759  liegt,  wird  dieses  als  Zeiger  auf einen Block
  452. interpretiert,  und  Sie  erhalten  einige Angaben über diesen Block.  Ein
  453. Klick  in den Bereich der Befehlsgadgets erbringt Ihnen Informationen über
  454. den  aktuellen Block.  Dabei wird aber nur berücksichtigt, was bereits auf
  455. Diskette  steht  -  die  Sachen,  die  Sie  editiert  haben,  werden  also
  456. ignoriert!   Falls  Sie  in  einen  ungültigen  Bereich klicken, wird eine
  457. entsprechende Fehlermeldung ausgegeben.
  458.  
  459.  
  460. ENDE:
  461. ¯¯¯¯¯
  462. Werden    Sie    nur   gaaanz   selten   brauchen,   deswegen   ist   eine
  463. Sicherheitsabfrage  unbedingt  nötig,  denn  wer  weiß,  ob Sie sich nicht
  464. "verklickt" haben...
  465.  
  466.  
  467. SPRINGEN:
  468. ¯¯¯¯¯¯¯¯¯
  469. Ein  Klick  auf  ein  Langwort - und schon sind Sie im gewünschten Block -
  470. sofern der Wert des Langworts irgendwo zwischen 0 und 1759 liegt.
  471.  
  472.  
  473. FÜLLEN:
  474. ¯¯¯¯¯¯¯
  475. Wenn  Sie  den  ganzen Block mit irgendwas (ASCII oder HEX) füllen wollen,
  476. dann ist dieser Menüpunkt der Richtige für Sie!
  477.  
  478.  
  479. => FREI:
  480. ¯¯¯¯¯¯¯¯
  481. Der  Block,  den  Sie  gerade  vor  sich  haben,  wird in der BAM als FREI
  482. markiert UND GLEICH ABGESPEICHERT!
  483.  
  484.  
  485. => USED:
  486. ¯¯¯¯¯¯¯¯
  487. Wie FREI, nur umgekehrt!
  488.  
  489.  
  490. FILEHEAD:
  491. ¯¯¯¯¯¯¯¯¯
  492. Sie  wollen  zu  einem bestimmten FILEHEAD oder DIRECTORY?  Dann geben Sie
  493. hier  einfach den kompletten Pfadnamen ab dem ROOT (Hauptverzeichnis) ein.
  494. Groß-/Kleinschreibung spielt keine Rolle!
  495.  
  496.  
  497. INITDISK:
  498. ¯¯¯¯¯¯¯¯¯
  499.     /    Sehr GEFÄHRLICH, deswegen erfolgt auch eine Sicherheitsabfrage.
  500.    /     Dieser Befehl schreibt den BOOTBLOCK, den ROOTBLOCK, und die BAM
  501.   /   _  neu. So können Sie eine Diskette in sekundenschnelle komplett
  502.   ¯¯¯¯/  löschen. Die Datenblöcke werden natürlich nicht gelöscht, aber
  503.      /   dadurch, daß ALLE Zeiger auf Datenblöcke, Directoryblöcke usw.
  504.    \/    gelöscht werden, und in der BAM als frei eingetragen werden,
  505.     ¯¯   haben Sie nach dieser Prozedur eine praktisch leere Diskette vor
  506.          sich. Dieser Befehl muß aber angewendet werden, wenn mittels
  507.          FORMAT der ROOT-Block überschrieben wurde, sonst können Sie die
  508.          Diskette vergessen!
  509.  
  510.  
  511. PRÜFEN:
  512. ¯¯¯¯¯¯¯
  513. Start-   und   Endtrack  eingeben,  und  schon  werden  all  diese  Tracks
  514. eingelesen.   Fehlermeldungen werden rechts unten ausgegeben.  Am Ende des
  515. Vorgangs erfahren Sie, wieviel Fehler aufgedeckt wurden.  Hier werden aber
  516. nur Trackdisk-Fehler gemeldet. Abbruch durch Klick ins rote Fenster!
  517.  
  518.  
  519. >>>===================================================================<<<
  520. >>> HIER BEGINNEN EINIGE RECHT UNSCHEINBARE BEFEHLE, DIE ES JEDOCH IN <<<
  521. >>> SICH HABEN!  LASSEN SIE SICH ÜBERRASCHEN!                         <<<
  522. >>>===================================================================<<<
  523.  
  524.  
  525. RAM: AUF:
  526. ¯¯¯¯¯¯¯¯¯
  527. Es  wird  ein  neues File auf der RAM-Disk geöffnet.  Hier können Sie alle
  528. Daten  ablegen, um sie sich später in aller Ruhe ansehen zu können.  Falls
  529. bereits eine RAM-Datei geöffnet war, wird diese geschlossen, und eine neue
  530. Datei  geöffnet.   Die  Dateien heißen RAM:DisKey0, RAM:DisKey1, usw.  Bei
  531. jedem  DisKey-Start  wird  mit  dem  Zählen  neu  begonnen,  und eventuell
  532. vorhandene "DisKey#?"-Dateien überschrieben.
  533.  
  534.  
  535. ALLES:
  536. ¯¯¯¯¯¯
  537. Der  gesamte  Block  (512 Bytes) wird in die (hoffentlich) zuvor geöffnete
  538. RAM-Datei abgelegt.
  539.  
  540.  
  541. DATEN:
  542. ¯¯¯¯¯¯
  543. Funktioniert  nur, wenn Sie sich gerade in einem Daten-Block befinden.  Es
  544. werden  dann  alle  DATEN in der RAM-Disk-Datei abgelegt.  Meist sind dies
  545. 488 Bytes, manchmal auch weniger!
  546.  
  547.  
  548. RAM: ZU
  549. ¯¯¯¯¯¯¯
  550. Die  RAM-Datei  wird  wieder geschlossen.  Dies geschieht auch automatisch
  551. bei folgenden Tätigkeiten:
  552.  
  553. 1) RAM: AUF (Die alte Datei wird geschlossen, eine neue geöffnet)
  554.  
  555. 2) ENDE
  556.  
  557. 3) => RAM: (Wie RAM: AUF)
  558.  
  559. Man  könnte  sich  diesen  Menüpunkt also fast sparen.  Der Ordnung halber
  560. habe  ich  ihn  aber  dazugefügt.   Falls  ich den Platz für das Gadget in
  561. späteren Versionen benötige, muß dieser Befehl evt.  weichen.
  562.  
  563.  
  564. => RAM:
  565. ¯¯¯¯¯¯¯
  566. Dies ist meiner Meinung nach ein SEHR nützlicher Befehl, um einige Dateien
  567. zu  retten.   Hatten  Sie schon einmal den "DISK CORRUPT"-Requester?  Oder
  568. einen  Read-Write-Error,  ohne  daß  die  Diskette einen Hard-Error hatte.
  569. Wenn  PRÜFEN  keine  Fehler anzeigt, ist es gut möglich, daß entsprechende
  570. Dateien  komplett  gerettet  werden können.  Die geretteten Dateien werden
  571. dann in der RAM-Disk abgelegt.  (Siehe RAM:  AUF!)
  572.  
  573. Nun  aber  zur  Vorgehensweise  beim  Retten  von  Dateien.   Es gibt hier
  574. grundsätzlich zwei Möglichkeiten:
  575.  
  576.  
  577. 1)  Sie befinden sich in einem Datenblock.  Ein Klick auf "=> RAM" bewirkt
  578. hier,  daß sich das Programm so weit wie möglich vorhangelt, bis es an dem
  579. letzten  Block  ankommt, oder ein Fehler ein Weiterkommen verhindert.  Oft
  580. ist  aber  nur  der  File-Header  zerstört,  der  dann  für  oben genannte
  581. Requester sorgt.  In diesem Fall müssen Sie also nur den ersten Datenblock
  582. aufsuchen, und dann das => RAM:-Gadget anklicken.  Wenn Sie sich im ersten
  583. Block  der  Datei  befinden,  wird  die  gesamte  Datei  in  die RAM-Datei
  584. geschrieben.  Bei einem höheren Datenblock wird nur der Rest der Datei (ab
  585. jenem Datenblock) übernommen.
  586.  
  587. WIE KOMME ICH IN DEN ERSTEN DATENBLOCK EINER DATEI?
  588.  
  589. Dazu  gibt  es  "FILEHEAD"!   Sie  geben  den Dateinamen ein, und FILEHEAD
  590. versucht  den HEADER ausfindig zu machen.  Im fünften Langwort des HEADERS
  591. befindet  sich ein Zeiger auf den ersten Block der Datei.  Prüfen Sie aber
  592. zunächst  einmal,  ob  dieser  Zeiger  noch stimmt.  "INFO =>" und fünftes
  593. Langwort  anklicken.   Es  müßte  sich  also  um den ersten Datenblock der
  594. gewünschten  Datei  handeln.   Ja?  Dann SPRINGEN Sie hinein!  Nein?  Dann
  595. probieren Sie's mal mit dem 78.  Langwort (HEX:  134).  Vorgehensweise wie
  596. oben! Falls das auch nicht klappt, probieren Sie einfach einmal, ob nicht
  597. der nächste Block der erste Datenblock der Datei ist.  Das dritte Langwort
  598. dieses  Blocks  müßte  00000001 (laufende Blocknummer der Datei) sein, das
  599. zweite   Langwort   sollte   auf   den  Fileheader  zeigen  (mit  INFO  =>
  600. ausprobieren).   Wenn  das  immer noch nicht geklappt hat, Sie aber einige
  601. Bytes  vom  Anfang  der  Datei  kennen,  können  Sie  es  noch  mit SUCHEN
  602. probieren.  Sonst weiß ich auch keinen Rat mehr.
  603.  
  604.  
  605. 2)  Wenn Sie sich in einem Fileheader (z.  B.  mittels FILEHEAD) befinden,
  606. ist  auch meist noch einiges zu machen.  Hier sind nämlich alle Zeiger auf
  607. die  Datenblöcke  nochmal aufgeführt.  Falls nun mitten im Repariervorgang
  608. ein  Fehler  beim  Lesen  eines Datenblocks auftritt, wird eine neue Datei
  609. begonnen,  die  DisKey(n).teil1  genannt  wird.  So werden auch Harderrors
  610. übergangen.   Die Daten, die in den Harderrortracks stehen/standen, können
  611. leider  nicht  mehr  gerettet  werden,  dafür  aber  alle  anderen.   Bei
  612. Programmen  hilft  das  zwar  reichlich  wenig,  aber um Source-Codes oder
  613. Text-Dateien  teilweise  zu  retten,  ist  diese  Methode ganz vernünftig.
  614. Treten    mehrere   solche   Fehler   auf,   werden   entsprechend   viele
  615. ".teil(x)"-Dateien  gebildet.   Jedesmal,  wenn  ein  Block gelesen werden
  616. soll,  und  das  scheitert,  wird  die  Meldung  "Beginne neues Ram:-File"
  617. ausgegeben.   Wundern  Sie  sich  jedoch  nicht,  wenn später viel weniger
  618. Dateien  in  der RAM:-Disk stehen.  Das liegt daran, daß Dateien, die leer
  619. sind,  gleich  wieder  überschrieben  werden.   Wenn nun einige Lesefehler
  620. HINTEREINANDER auftreten, wird jedesmal eine neue RAM:-Datei geöffnet.  Da
  621. aber auch der nächste Leseversuch scheitert, bleibt die vorige Datei leer,
  622. und wird deswegen gleich wieder überschrieben.
  623.  
  624.  
  625.  
  626. 7) Der MIST-VIRUS
  627. =================
  628.  
  629. Ja,  hier haben wir mal wieder einen neuen Virus, dem ich Anfang April '89
  630. zum  ersten  Mal  begegnet bin.  Da dieser Virus ein riesen Mist ist, habe
  631. ich  ihn einfach einmal MIST-VIRUS genannt.  Den richtigen Namen kenne ich
  632. nicht!  Ich habe noch nirgendwo etwas über ihn gelesen, und ihn auch nicht
  633. groß  ausprobiert,  denn dazu ist mir meine Zeit zu schade.  Ich weiß also
  634. nicht,  was  er  anrichten  kann.   Daß er aber zu der ganz gemeinen Sorte
  635. gehört, ist auf jeden Fall klar!  Er versteckt sich im Bootblock, und wird
  636. somit  beim  Booten  aktiv.   Ja, er versteckt sich wirklich, denn wenn er
  637. erst einmal aktiv ist, hintergeht er irgendwie das trackdisk.device:  wenn
  638. man  sich  den Bootblock einer Diskette mit einem Monitor ansehen will, so
  639. sieht  er  ganz  normal  aus  -  wie  ein  Install-Bootblock.  Bei aktivem
  640. MIST-VIRUS  ist es DisKey (und auch anderen Diskettenmonitoren) unmöglich,
  641. zwischen  dem  MIST-VIRUS  und  einem  Install-Bootblock zu unterscheiden.
  642. Auch Sie können in Block 0/1 keinen Unterschied sehen.  Deswegen kommt bei
  643. einem  Install-Bootblock  immer  die  Meldung  Install-Bootblock  o.  MIST
  644. aktiv!   Der  MIST-VIRUS  verschlüsselt  seinen  Code - wahrscheinlich mit
  645. logischen Verknüpfungen.  Somit ist er schlecht zu erkennen.  Einige Bytes
  646. scheinen  jedoch  immer  gleich  zu bleiben, und daran versucht DisKey den
  647. Virus  zu  erkennen.   Es  kommt  dann  eine  entsprechende Meldung.  Aber
  648. VORSICHT:   Die  Meldung  kann nur kommen, wenn der Virus nicht aktiv ist,
  649. denn  sonst wird ja das trackdisk.device hintergangen!  (TIP:  ViCheck von
  650. Ralph  Babel  erkennt den Virus im Speicher, allerdings ohne Ausgabe eines
  651. Namens - Ein Dankeschön für das Tool!)
  652.  
  653. Zum Schluß noch, wie der Anfang des Virus' aussieht (xx = unterschiedlich)
  654.  
  655.  1. LW: 444F5300
  656.  2. LW: xxxxxxxx
  657.  3. LW: 00000370
  658.  4. LW: 70xx6122
  659.  5. LW: 4EAEFFA0
  660.  6. LW: 4A80670A
  661.  7. LW: 20402068
  662.  8. LW: 00167000
  663.  9. LW: 4E7570FF
  664. 10. LW: 60FA646E
  665.  
  666. Bis zum 19.  LW sind die Langworte gleich, dann nicht mehr!  (Beim 20.  LW
  667. nur noch die ersten beiden Bytes!)
  668.  
  669.  
  670.  
  671.  
  672. So, ich hoffe, daß Ihnen mein Programm gefällt, und daß Sie dann auch
  673. mich, die Programmiererin nicht vergessen.
  674.  
  675.  
  676.                         >>>>>>><<<<<<<
  677.                         >>> Angela <<<
  678.                         >>>>>>><<<<<<<
  679.  
  680.  
  681. 8) Meine Adresse:
  682. =================
  683.  
  684. Angela Schmidt
  685. Finkenweg 26
  686. 7910 Neu-Ulm Burlafingen
  687.  
  688. GERMANY
  689.  
  690. Tel: 0731 / 712316
  691.